package com.xiaolin.designmode.mediator;

/**
 * @ClassName Mediator
 * @Description 抽象中介者
 * @Detail 中介者模式的定义：定义一个中介对象来封装一系列对象之间的交互，使原有对象之间的耦合松散，
 *            且可以独立地改变它们之间的交互。中介者模式又叫调停模式，它是迪米特法则的典型应用。
 *              步骤：
 *                  1、创建抽象中介者
 *                  2、创建抽象同事类
 *                  3、创建若干具体中介者
 *                  4、创建具体中介者
 *              总结：
 *                  1、角色
 *                      1、抽象中介者
 *                      2、抽象同事类
 *                      3、具体中介者
 *                      4、具体同事类
 *                  2、使用范围：
 *                      在现实生活中，常常会出现好多对象之间存在复杂的交互关系，这种交互关系常常是“网状结构”，
 *                      它要求每个对象都必须知道它需要交互的对象。例如，每个人必须记住他（她）所有朋友的电话；
 *                      而且，朋友中如果有人的电话修改了，他（她）必须告诉其他所有的朋友修改，这叫作“牵一发而动全身”，非常复杂。
 * @Author MyPC
 * @Date 2020/11/7
 * @Version 1.0
 */
public interface Mediator {
    //注册同事
    void register(Colleague colleague);
    //将某个同事的状态变化告知其他同事
    void relay(Colleague colleague);
}
